# Python 流程控制之 for 循环

# for 循环
# for 循环是 Python 中最常用的流程控制语句。它可以用来遍历一个序列（如列表、元组、字符串）中的每个元素，并对每个元素进行操作。


# 语法格式：
# for 变量 in 序列:
#     语句块


# 实例：
# 打印出 1 到 5 之间的数字序列：range(1, 5) 表示从 1 到 5 之间的数字。
for i in range(1, 5):
    print(i)
# 输出结果：
# 1
# 2
# 3
# 4


# 也可以使用 for 循环来遍历一个数字序列：range(5) 表示从 0 到 4 之间的数字。
for i in range(5):
    print(i)
# 输出结果：
# 0
# 1
# 2
# 3
# 4


# 也可以使用 for 循环来遍历一个列表：
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
    print(fruit)
# 输出结果：
# apple
# banana
# orange


# 也可以使用 for 循环来遍历一个元组：
numbers = (1, 2, 3, 4, 5)
for number in numbers:
    print(number)
# 输出结果：
# 1
# 2
# 3
# 4
# 5


# 也可以使用 for 循环来遍历一个字典：
person = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
for key, value in person.items():
    print(key, ':', value)
# 输出结果：
# name : Alice
# age : 25
# city : Beijing


# 也可以使用 for 循环来遍历一个字符串：
s = 'hello'
for c in s:
    print(c)
# 输出结果：
# h
# e
# l
# l
# o


# 也可以使用 for 循环来遍历一个文件：
with open('D:\PyCharmProjects\python-demo\output.txt', 'r') as f:
    for line in f:
        print(line.strip())
# 输出结果：
# fuck you


# 循环的嵌套
# 也可以使用 for 循环来实现循环的嵌套。
# 语法格式：
# for 变量1 in 序列1:
#     for 变量2 in 序列2:
#         语句块
# 实例：
# 打印出 1 到 3 之间的数字，每行打印 3 个数字
for i in range(1, 3):
    for j in range(1, 4):
        print(i, end='\t')
    print()
# 输出结果：
# 1	1	1
# 2	2	2


# for else 语句
# for else 语句是 Python 2.5 引入的新语法。它与 for 循环一起使用，当 for 循环正常执行完毕（即没有发生异常）时，执行 else 语句块。

# 实例：
# 打印出 1 到 10 之间的偶数
for i in range(1, 11):
    if i % 2 == 0:
        print(i)
else:
    print("no even number")
# 输出结果：
# 2
# 4
# 6
# 8
# 10
# no even number
# 注意：for else 语句只能用于 for 循环，不能用于 while 循环。

